package com.eastfair.venueservice.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.eastfair.boot.request.PageParams;
import com.eastfair.boot.service.SuperService;
import com.eastfair.venueservice.dto.ServiceInventoryInFlowDTO;
import com.eastfair.venueservice.dto.ServiceInventoryInFlowQuery;
import com.eastfair.venueservice.entity.ServiceInventoryInFlow;
import com.eastfair.venueservice.vo.ServiceInventoryInFlowVO;

import java.util.List;

/**
 * <p>
 * 业务接口
 * 服务库存入库流水记录
 * </p>
 *
 * @author linan
 * @date 2022-09-19
 */
public interface ServiceInventoryInFlowService extends SuperService<ServiceInventoryInFlow> {
    /**
     * do转vo
     *
     * @param model
     */
    ServiceInventoryInFlowVO doToVo(ServiceInventoryInFlow model);

    /**
     * do转vo
     *
     * @param modelList
     */
    List<ServiceInventoryInFlowVO> doToVos(List<ServiceInventoryInFlow> modelList);


    /**
     * 通用查询
     *
     * @param modelDTO DTO
     * @param ids      主键id集合
     * @return list
     */
    List<ServiceInventoryInFlow> list(ServiceInventoryInFlowDTO modelDTO, List<Long> ids);

    /**
     * 通用查询
     *
     * @param modelDTO DTO
     * @param ids      主键id集合
     * @return list
     */
    List<ServiceInventoryInFlow> listOfCache(ServiceInventoryInFlowDTO modelDTO, List<Long> ids);

    /**
     * 插入入库流水
     * @param serviceInventoryInFlowDTO
     * @return
     */
    Boolean saveInFlow(ServiceInventoryInFlowDTO serviceInventoryInFlowDTO);

    /**
     * 查询入库记录
     * @param serviceInventoryQuery
     * @return
     */
    Page<ServiceInventoryInFlowVO> queryInFlowList(PageParams<ServiceInventoryInFlowQuery> serviceInventoryQuery);
}
